package com.cskaoyan.bean.wx.vo;

import com.cskaoyan.bean.Address;
import com.cskaoyan.bean.Cart;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @PROJECT_NAME: market_34th
 * @DESCRIPTION:
 * @Author: qiu
 * @DATE: 2021/10/22 21:35
 */
@NoArgsConstructor
@Data
public class CartCheckOutVO {

    @JsonProperty("grouponRulesId")
    private Integer grouponRulesId; // 团队优惠券，暂设为0

    @JsonProperty("grouponPrice")
    private Integer grouponPrice;   // 团队优惠券，暂设为0

    @JsonProperty("cartId")
    private Integer cartId; // 如果是单个商品，是该产品对应的cartId；如果是多个商品，返回0

    @JsonProperty("userCouponId")
    private Integer userCouponId;   // 入参的数据，如果没有使用优惠券，就是-1

    @JsonProperty("couponId")
    private Integer couponId;   // 入参的数据，使用优惠券的id，如果没使用，就是-1

    @JsonProperty("addressId")
    private Integer addressId;  // 入参的数据

    @JsonProperty("freightPrice")
    private Integer freightPrice;   // 运费，需要计算满减

    @JsonProperty("goodsTotalPrice")
    private Integer goodsTotalPrice;    // 已选中产品的价格总和 + 【运费】

    @JsonProperty("couponPrice")
    private Integer couponPrice;    // 使用的优惠券的价格，如果没使用，就是0

    @JsonProperty("availableCouponLength")
    private Integer availableCouponLength;  // 可用优惠券的数量

    @JsonProperty("orderTotalPrice")
    private Integer orderTotalPrice;    // 已减去优惠券价格后的价格（goodsTotalPrice - couponPrice）

    @JsonProperty("actualPrice")
    private Integer actualPrice;    // 已减去优惠券价格后的价格

    @JsonProperty("checkedAddress")
    private Address checkedAddress; // 根据addressId获得

    @JsonProperty("checkedGoodsList")
    private List<Cart> checkedGoodsList; // 根据userId获得，已选中的商品清单

}
